package com.xgpro.mobile.studycentre.service;

import com.xgpro.domain.studycentre.vo.*;

import java.util.List;
import java.util.Map;

/**
 * @author tx
 * @version 1.0
 * @date 2019/8/28 21:24
 */
public interface TeacherService {

    /**
     * 查询导师下对应的学生
     * @param teaId
     * @return
     */
    public List<StudentBack> qryStudentsByTeacherId(Integer teaId);


    /**
     * 查询个人信息
     * @param id
     * @return
     */
    public UserInfoTS qryUserInfoById(Integer id);


    /**
     * 解除关系
     * @param relationship
     * @return
     */
    public Integer cancelRelationship(Relationship relationship);

    /**
     * 评价
     * @param evaluation
     * @return
     */
    public Integer evaluation(Evaluation evaluation);


    /**
     * 根据学生id查询导师信息
     * @param id
     * @return
     */
    public UserInfoTS qryTeacherByStudentId(Integer id);


    /**
     * 查询合适带徒的导师
     * @return
     */
    public List<DaiTuTeaSimple> qryTeaSimple(String name);


    /**
     * 一键申请导师
     * @param userId
     * @return
     */
    public Integer applayTea(Integer userId,Integer teaId) throws Exception;

    /**
     * 查询徒弟申请状态
     * @param teaId
     * @param status
     * @return
     */
    public List<StuSimple> qryStuSimpleByStatus(Integer teaId,Integer status);


    /**
     * 处理申请
     * @param stuId
     * @param status
     * @param teaId
     * @return
     */
    public Integer  dealApplay(Integer stuId,Integer status,Integer teaId);

    /**
     * 解除关系学生数
     * @param teaId
     * @return
     */
    public Integer  countStudents(Integer teaId);

    /**
     * 解除关系老师
     * @param studentId
     * @return
     */
    public Integer  countTeacher(Integer studentId);

    /**
     * 解除关系确认
     * @param teaId
     * @param stuId
     * @return
     */
    public Integer sureCancle(Integer teaId,Integer stuId);

    /**
     * 解除关系取消
     * @param teaId
     * @param stuId
     * @return
     */
    public Integer noSureCancle(Integer teaId,Integer stuId);


    /**
     * 徒弟表评估
     * @param teaId
     * @param map
     * @return
     */
    public Integer stuEva(Integer teaId, Map map);

    /**
     * 导师表评估
     * @param stuId
     * @param map
     * @return
     */
    public Integer teaEva(Integer stuId,Map map);


    /**
     * 学生徒弟评估
     * @param teaName
     * @return
     */
    public EVAResult getEVAResult(EVAFront teaName);
}
